const express = require('express');
const app = express();
const session = require('express-session');
// 链接数据库
require('./db/db');

// 1.设置静态目录
app.use(express.static('public'));
// 2.设置ejs模板引擎
app.set('view engine', 'ejs');
// 3.post请求解析参数
app.use(express.urlencoded({ extended: false }));
app.use(express.json());


// 拦截请求的中间件
app.use(session({
    secret: 'productsys',
    // 强制保存session,即使没有变化--默认true,建议改成false
    resave: false,
    // 强制保存未初始化的session
    saveUninitialized: true,
    cookie: {
        // 设置过期时间
        maxAge: 1000 * 60 * 60 * 24,
        // http和https
        // secure:true
    },
    // 过期时间强制重置cookie
    rolling: false

}));

// 做用户身份的验证
// 1.进入根目录跳转到登录页面
// 2.只要不登录不能进入管理系统的任何页面
app.use((req, res, next) => {
    if (req.url != '/admin/login' && req.url != "/admin/dologin" && !req.session.username) {
        res.redirect('/admin/login');
    } else {
        next();
    }
});

// 设置一级路由
app.use('/admin', require('./routes/user'))
app.use('/product', require('./routes/product'))

// 开启
app.listen(3000, () => {
    console.log("server is running,don't stop,port is 3000");
});